コンテスト優勝! Amazon Q Developerで挑んだ、新人エンジニアの「Webアプリ開発」挑戦

はじめに

2025年11月7日、当社の新人4人がITA-デジタル・テクノロジー・コンテスト(以後DTC)に出場し、プレッシャーを乗り越え、見事優勝を果たすことができました!この記事では、そんな私たち新人4人がDTCに挑む中で、触れて学んだ技術に焦点を当ててご紹介していきます。

※ ITA-デジタル・テクノロジー・コンテスト(ITA-DTC):当社が加盟している独立系情報サービス会社の任意団体であるインフォメーション・テクノロジー・アライアンス(ITA)が、毎年秋に開催する「ITA Forum」というイベントの中で実施されるプログラムの1つです。当該コンテストでは各社の若手で構成されるチームがシステム開発を行い、その技術、アイデア、プレゼンテーションの総合点が競われます。

メンバーのステータス

このコンテストに参加した私たち新人4人は、2か月の研修期間と追加3ヶ月の新人向け疑似開発プロジェクトを通じて、プログラミングの基礎的な知識を積んできました。(tdiには2か月間の手厚い技術研修があり、ITの基礎をしっかり学ぶことができます!)

入社半年時点での私たちのスキルは、HTML, CSS, JavaScriptを使って簡単なアプリケーションを実装できる程度でした。

そんな私たちに課されたミッションが「DTCへの参加」です。

このコンテストは、他社の若手エンジニアと切磋琢磨できる貴重な場であり、アプリケーションをゼロから作り上げる経験が得られます。社内選抜された私たち新人4名は、チーム一丸となって完成度の高いアプリケーションの実装を目指し、コンテストに出場しました。

先にも述べたように、準備期間2か月のコンテスト参加にかなりの不安がありましたが、企画、設計、開発を一通り実践し、さまざまな技術に触れる機会を得ることができました。

アプリケーション概要

まずは私たちが開発し、優勝することができたWebアプリケーション「Cul-tcha(カルチャ)」についてご紹介します。

「Cul-tcha」は、昨今話題のオーバーツーリズムのうち、外国人観光客のマナー理解促進に焦点を当てた「翻訳×マナー啓発アプリ」です。訪日外国人観光客に手軽に日本のマナーを理解してもらうべく、彼らのほとんどが使うであろう翻訳アプリとマナー啓発を掛け合わせました。

このアプリでは、翻訳したい日本語を撮影すると、翻訳結果とそれに関連する日本のマナーや文化が表示されます。また、マナーの深掘り質問も可能で、外国人観光客が根本から日本のマナーを理解できるよう設計しました。

Cul-tchaイメージ
 

「Cul-tcha」のフロントエンドにはTypeScript(React)、バックエンドにはNode.jsを採用し、全環境をAWS上に構築しました。フロントエンドにはAmazon S3とAmazon CloudFront、バックエンドにAmazon API Gateway、AWS Lambda、Amazon Bedrockを用いることでサーバーレス化を実現しました。また、翻訳・マナー生成・深掘り質問のレスポンスには最新のAIモデルを利用し、翻訳内容に応じた自然な回答が生成されるようにしました。

Cul-tcha構成図

生成AIの活用

DTCにおける2か月の準備期間で、社会課題解決に役立つアプリケーションを0から作り上げる必要がありました。しかし、アプリケーションの企画に大変時間がかかったため、実装に取り組めたのは計3週間ほどでした。課題は、短い期間の中でいかに実装を終わらせるかでした。そこで私たちが活用したのは「生成AI」です。

ここからは私たちがどのように生成AIを用いて実装したかをご紹介します。

使用した生成AI

私たちが実装の場面で活用した生成AIは、社内で利用が認められている社内版ChatGPTGoogle Gemini、これに加え、実装の効率化を目的としたAmazon Q Developer(現 Kiro、以降Q Developer)です。

実装全体では、特にQ Developerが大活躍しました。

具体的には、Google スプレッドシートで作成した設計書をQ Developerに読み込ませてマークダウン形式に変換し、それを元にソースコードを生成させる方法で実装を行いました(プロンプト例は下記)。また、Q DeveloperによってAWS CDK(AWS Cloud Development Kit)※1のコード管理開発プロセスを補助したり、コードレビューデバッグをさせたり、と実装の中心はQ Developerでした。しかし、ただQ Developerにプロンプト(指示)を投げればよいというわけではありませんでした。Q Developerに正しく解釈してもらえるようにプロンプトに具体例を付加したり、Q Developerが提案した作業内容が適切であるか精査したりする必要がありました。なお、今回利用したQ DeveloperのAIモデルはClaude Sonnet 4※2です。

※1 AWS CDK:AWSのリソースをプログラミング言語で定義・構築できる、AWSが提供するオープンソースのフレームワークです。

※2 Claude Sonnet 4:Anthropic社が開発した高性能なチャット型生成AIである、Claudeのモデルの一種です。後述するClaude Sonnet 4.5はその最新のモデルです。

また、今回はチームでの開発だったので、メンバーそれぞれが見つけたQ Developerへの効果的なプロンプトをチーム内のベストプラクティスとして共有したり、それらをQ Developerの回答のルールとして定義したりすることで、チームとして効率よくQ Developerを活用することができたように思います。

Q Developerの使用例

Q Developerを使用した具体的な例をご紹介します。

1.実行内容の確認

まずは、Q Developerの「実行内容の確認」です。これはQ Developerの実行内容を理解しないまま作業を進めてしまったことで、バックエンドの関数が突然消えてしまうという苦い経験から取り入れられました。

1-1. Q Developerによる現状・今後の方針確認

Q Developerで実際にソースコード修正指示を出す際に、「現在の状況と今後の方針を教えてください」とプロンプトに入力し、「現状確認」と「計画提示」を都度実施しました。現在どのような状態で、自分の指示によってどう変更されるのかを予め確認することで、意図しない修正を防ぎました。

1-2. Q Developerの監視

Q Developerでは、コードやフォルダ構造・リソースなどを変更する場合、細かい変更に対して都度ユーザーに許可を求めます。変更する内容を一括で承認することもできますが、私たちは敢えて1つ1つの変更内容を確認してから承認することで、望まぬ変更が行われないよう努めました。


Q Developerのユーザー許可例

1-3. Q Developerに適用するルールの追加

1-1のベストプラクティスを応用して、Q Developerの回答ルールにも次のように追加することで、Q Developerが回答する際に、自動的に変更内容の説明をしてくれるようにしました。

2.次セッションへの引継ぎ

もう1つ例を紹介します。その日の作業を次の日に持ち越すときなどに、現状と引き継ぎたい事項を整理させるためにもQ Developerを活用しました。現時点で完成している事項と改善が必要な事項を整理し、次行うべきことを優先順位を付けて具体的に示してもらいました。さらに、そのなかで重要な設定事項と次の実装での注意点も提示してくれました。

これらのように、ソースコードを生成させる以外にも、さまざまな活用を行っていました。

結果として、最もネックだった実装工程は、概ね1週間でフロントエンド、バックエンドの基本的な機能の実装を終えることができました。(もちろんその後は延々と修正作業が続きますが…)

生成AIを搭載した機能の実装

また新しい技術に挑戦する意味で、アプリケーションそのものにも生成AIを搭載した実装を試みました。

前述の通り、バックエンドの翻訳・マナー生成・深掘り質問のレスポンスには最新のAIモデルを利用しましたが、今回用いたのは、2025年9月末にリリースされたばかりの大規模言語モデル「Claude Sonnet 4.5」です。

このAIモデルの採用理由は言語の複雑なニュアンスを理解できることにあり、Q Developer同様、プロンプトを細かく修正しながら、理想とする回答が生成されるよう調整を重ねました。

総じて言うと、生成AIを活用し、さらに生成AIを組み込んだ最新技術の実装に挑戦したことで、大きな経験を積むことができました。これにより、最終的にDTC優勝という最高の結果に繋がりました!

感想

この経験を通じて、私たちは開発現場において、生成AIをいかに活用できるのかを学ぶことができました。

新人4人でも、研修や疑似開発プロジェクト、コンテストへの参加によって、(もちろん周囲を頼りながらも)自分たちの力でWebアプリケーションを開発することができるまで成長することができ、このような機会を与えてもらえたのは、非常に貴重な経験であったと、チーム全員が感じています。

もちろんすべてが一筋縄でいくわけもなく、前述したように突然バックエンドの関数が消えてしまったり、Claude Sonnet 4.5の1分間当たりの回答生成数の上限が「2」であまりアプリケーションを動かせなかったり(すでに上限緩和されていたアカウントのBedrockを利用することで対応しました。対処方法が気になる方はこちらの記事をご確認ください。)、と困難もありましたが、無事にチームとしてプロジェクトをやり切れたことは、新人の私たちのこれからの自信にもつながったと思います。

このように、新人でも生成AIを使いこなすことで、短期間でWebアプリケーションを開発することができました。皆さんもぜひ生成AIを活用して、効率よく学び、開発する経験をしてみてください!

お問い合わせ先

執筆者プロフィール

Matsumoto Amitdi 開発本部 東日本事業部 東日本金融システム部
2025年4月新卒入社。 新入社員研修を経て、「ITA-デジタルテクノロジーコンテスト」および「JISA技術コンテスト」に参加。配属先は東日本金融システム部。

関連記事